<?php

class Admin_UsuarioController extends AdminAbstractController {
	
	public function init() {
		parent::init();
		
		$this->_name = 'Usuários';		
		$this->_table = 'usuario';
		$this->_form = new UsuarioForm();
		
		$this->_cols = array(
			'nome' => 'string',
			'email' => 'string',
			'publicado' => 'int'
		);
	}

	public function editAction() {
		$id = $this->getRequest()->getParam('id', false);
		if ($id) {
			$item = AbstractDbTable::get($this->_table)->findOneById($id);
			
			$item['data_nascimento'] = $dataF = date('d/m/Y', strtotime($item['data_nascimento']));
			
			$this->view->form = $this->_form->set($item);
			$this->view->form_senha = new SenhaForm($item);
		}
	}
	
	public function saveAction() {
		$data = $this->getRequest()->getParam($this->_table, false);
		
		$item = false;
		
		$item = AbstractDbTable::get($this->_table)->findOneById($data['id']);
		
		$form = $this->_form;
		$form->set($item);
		
		$form_senha = new SenhaForm($item);
		
		if($data['data_nascimento'] != ''){
			$data_nascimento = $data['data_nascimento'];
					
			$data_nascimento = explode('/', $data_nascimento);
			$data_nascimento = $data_nascimento[2].'-'.$data_nascimento[1].'-'.$data_nascimento[0];
				
			$data['data_nascimento'] = $data_nascimento;
		}
			
		if($data['id'] == ''){
			$data['data_criacao'] = date('Y-m-d H:i:s');
		}
			
		$data['senha'] = md5($data['senha']);
			
		if ($form->isValid($data)) {				
			$form->save();
			
			$this->_redirect('admin/usuario');
		}
		
		$this->view->form = $form;
	}
}